package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.RoleBean;
import com.project.bean.RootBean;

import java.util.List;

/**
 * 角色接口类
 */
public interface IRoleService {
    int PAGE_SIZE=3;
    /**
     * 查询所有角色，不用查询对应的权限
     * @return
     */
    public PageInfo<RoleBean> findAll(int pageNO);

    /**
     * 添加角色  先检查角色名称是否存在 根据角色id 和权限集合 添加 权限和中间表 信息
     * @param role
     */
    public String addRole(RoleBean role, int[] rootIDArray);

    /**
     * 根据角色id删除角色，要先删除所有角色id的中间表数据，包括用户角色中间表，和权限角色中间表
     * @param id
     */
    public void delRole(int id);

    /**
     * 根据角色id查询角色，同时查询该角色权限集合
     * @param id
     * @return
     */
    public RoleBean findById(int id);

    /**
     * 根据角色id查询角色权限集合
     * @param id 角色id
     * @return 权限集合
     */
    public List<RootBean> findRoots(int[] id);

    /**
     * 根据角色id 修改 权限列表  根据角色id删除  角色权限中间表 数据，在把权限集合和角色id添加中间表数据
     * @param id 角色id
     * @param idArray 权限列表
     */
    public void update(int id, int[] idArray);
}
